package com.cdty.chess.service;

import com.cdty.chess.util.FileUtils;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 文件服务接口
 */
public interface FileService {
    
    /**
     * 批量上传文件
     *
     * @param files 文件列表
     * @return 文件URL列表
     */
    List<String> uploadFiles(List<MultipartFile> files);
    
    /**
     * 批量删除文件
     *
     * @param fileUrls 文件URL列表
     */
    void deleteFiles(List<String> fileUrls);
    
    /**
     * 列出指定目录下的所有文件和子目录
     *
     * @param directory 目录路径，为空则列出根目录
     * @return 文件和目录列表
     */
    FileUtils.CosFileList listFiles(String directory);
    
    /**
     * 创建目录
     *
     * @param directory 目录路径
     */
    void createDirectory(String directory);
}